package com.atguigu.memonto.game;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description: 游戏角色（对象，需要保存状态的对象）
 * @create: 2022-03-11 17:03
 **/
public class GameRole {
    /**
     * 攻击力
     */
    private int vit;
    /**
     * 防御力
     */
    private int def;

    /**
     * 创建Memento对象
     * @return 备忘录对象
     */
    public Memento createMemento() {
        return new Memento(vit, def);
    }

    /**
     * 从备忘录对象，恢复GameRole的状态
     * @param memento 备忘录对象
     */
    public void recoverGameRoleFromMemento(Memento memento){
        this.vit = memento.getVit();
        this.def = memento.getDef();
    }

    /**
     * 显示当前游戏角色的状态
     */
    public void display(){
        System.out.println("游戏角色当前的攻击力是："+ this.vit + "，防御力：" + this.def);
    }

    public int getVit() {
        return vit;
    }

    public void setVit(int vit) {
        this.vit = vit;
    }

    public int getDef() {
        return def;
    }

    public void setDef(int def) {
        this.def = def;
    }
}
